import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    userInfo: 1,  // 用户信息
    isLogin: false,   // 控制 登录模态框显示隐藏
    isLoginType: 'Qr', // 控制手机，二维码登录面板的显示与隐藏
    titleStatus: false,  // 控制提示组件的显示与隐藏
    titleMsg: '我是默认值',  // 控制提示组件的显示与隐藏
    key: 0, // 控制头部组件更新
  },
  getters: {
  },
  mutations: {
    // 存储用户信息
    UserInfo(state, res) {
      state.userInfo = res
    },
    // 控制头部组件更新
    UpdateKey(state) {
      state.key++
    },
    // 控制登录模态框显示隐藏的函数
    ToggleLogin(state){
      state.isLogin = !state.isLogin
    },
    // 控制选择登录方式 注册面板的显示与隐藏
    goOtherLogin(state){
      state.isLoginType = 'Other'
    },
    // 控制手机，二维码登录面板的显示与隐藏
    goQrLogin(state){
      state.isLoginType = 'Qr'
    },
    // 控制手机登录组件 的显示
    goPhoneLogin(state){
      state.isLoginType = 'shortMsg'
    },
    // 控制密码登录组件 的显示
    goPwdLogin(state){
      state.isLoginType = 'Password'
    },
    // 控制注册组件 的显示
    goRegisterLogin(state){
      state.isLoginType = 'Register'
    },
    // 打开对应提示框
    OpenTitle(state, text) {
      state.titleStatus = true
      state.titleMsg = text
    },
    // 关闭提示框
    CloseTitle(state) {
      state.titleStatus = false
    },
  },
  actions: {
    // 延迟两秒关闭提示框
    closeTitle(context){
      setTimeout(() => {
         context.commit('CloseTitle')
      }, 1500)
    }
  },
  modules: {
  }
})
